package com.nulp.asu.generator.type;

import com.nulp.asu.generator.amodel.ABlock;
import com.nulp.asu.generator.model.*;

/**
 * Created by Lyubomyr_Dzyurak on 10/31/2014.
 */
public enum BlockType {
    ONE_CHOOSE("test - one choose"){
        public ABlock create(){
            return new OneChoose();
        }

    }, MULTI_CHOOSE("test - multy choose"){
        public ABlock create(){
            return new MultiChoose();
        }

    }, ONE_LINE("one line"){
        public ABlock create(){
            return new OneLine();
        }

    }, MULTI_LINE("multy line"){
        public ABlock create(){
            return new MultiLine();
        }

    }, CODE_SHEET("code sheet"){
        public ABlock create(){
            return new CodeSheet();
        }
    };

    private String name;

    BlockType(String name){
        this.name=name;
    }

    public abstract ABlock create();

    public String toString(){
        return name;
    }
}
